/*
 *  GData.h
 *  glass
 *
 *  Created by sunjun on 11-6-14.
 *  Copyright 2011 sunstdio. All rights reserved.
 *
 */
//////////////////////////////////////////////////////////////////////////

#ifndef __GData__
#define __GData__

//////////////////////////////////////////////////////////////////////////

#if defined __cplusplus

//////////////////////////////////////////////////////////////////////////

typedef GPtr<class GData>GDataPtr;

//////////////////////////////////////////////////////////////////////////

// this class provides an object-oriented data interface.
class GData : public GReference
{
public:
	// constructor
	GData();
	GData(U32 size);
	GData(U32 size, U8 value);

	// destructor
	virtual ~GData();

	// the data size
	VOID Size(U32 size);
	VOID Size(U32 size,U8 value);
	U32 Size() const;

	// the data pointer
	VOID* Get() const;	

private:
	std::vector<U8>mData;
};

//////////////////////////////////////////////////////////////////////////

#endif // __cplusplus

//////////////////////////////////////////////////////////////////////////

#endif // __GData__

//////////////////////////////////////////////////////////////////////////